用Matplotlib包实现数据可视化

Matplotlib包是Python数据可视化的基础包,Seaborn等包是在Matplotlib包的基础上进一步开发得到的。Matplotlib包提供了常见的图表类型,图表质量很高,有较多的配色方案可供选择。

条形图

【问题描述】

用给定数据,使用Matplotlib绘制二维条形图。

【示例12-5】

本例使用示例12-1的数据,试用该数据绘制二维复合条形图。

  • 编写下面的xlwings代码:
code.python
import pandas as pd
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif'] = ['SimHei'] # 设置中文显示
# 导入Excel数据
data = pd.read_excel('D:/Samples/ch12/商品销量.xlsx', index_col=0, engine='openpyxl')
# 绘制条形图
data.plot(kind='bar')
# 设置图形参数
plt.title('商品销量') # 设置标题
plt.xlabel('商品') # 设置x轴标签
plt.ylabel('销量') # 设置y轴标签
# 显示图形
plt.show()

打开Python IDLE,新建一个脚本文件,将上面生成的代码复制进去,保存。运行脚本,生成复合条形图如图12-7所示。

Document Image

图12-7 Matplotlib包生成的复合条形图

【知识点扩展】

使用DataFrame对象的plot方法实现复合条形图的绘制,用title函数设置标题,用xlabel函数和ylabel函数设置x轴和y轴标签,用show函数显示图形。

饼图

【问题描述】

用给定数据,使用Matplotlib绘制二维饼图。

【示例12-6】

本例使用示例12-2的数据,试用该数据绘制二维饼图。

  • 编写下面的xlwings代码:
code.python
# 导入必要的库
import pandas as pd
import matplotlib.pyplot as plt
from matplotlib.font_manager import FontProperties
# 设置中文字体
font = FontProperties(fname=r"C:\Windows\Fonts\simsun.ttc", size=14)
# 读取Excel数据
data = pd.read_excel('D:/Samples/ch12/访客年龄.xlsx', index_col=0, engine='openpyxl')
# 绘制饼图
fig, ax = plt.subplots()
ax.pie(data['占比'], labels=data.index, autopct='%1.1f%%')
ax.set_title('访客年龄占比', fontproperties=font)
plt.show()

打开Python IDLE,新建一个脚本文件,将上面生成的代码复制进去,保存。运行脚本,生成饼图如图12-8所示。

Document Image

图12-8 用Matplotlib生成饼图